home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / pctj8412.arc / PRIMES.MOD < prev    next >
Text File  |  1986-09-14  |  1KB  |  43 lines

  1. MODULE Primes;
  2. (* 
  3.    This program performs 10 iterations of finding the prime
  4.    numbers among the first 8190 positive integers using
  5.    the Eratosthenes Sieve algorithm. It is adapted with
  6.    minor changes from a program listed in BYTE magazine, 
  7.    January 1983. 
  8. *)
  9.  
  10. (* Turn all error checking off: *)
  11. (*$R-*)
  12. (*$S-*)
  13. (*$T-*)
  14. FROM InOut IMPORT WriteLn, WriteInt, WriteString, Write;
  15.  
  16. CONST Size = 8190;
  17. VAR   Flags : ARRAY[0..Size] OF BOOLEAN;
  18.       i, prime, k, count, iter : CARDINAL;
  19. BEGIN
  20.   WriteString("10 iterations");
  21.   WriteLn;
  22.   FOR iter := 1 TO 10 DO
  23.     count := 0;
  24.     FOR i := 0 TO Size DO
  25.       Flags[i] := TRUE;
  26.     END;
  27.     FOR i := 0 TO Size DO
  28.       IF Flags[i] THEN
  29.         prime := i * 2 + 3;
  30.         k := i + prime;
  31.         WHILE k <= Size DO
  32.           Flags[k] := FALSE;
  33.           INC(k, prime);
  34.         END;
  35.         INC(count);
  36.       END;
  37.     END;
  38.     Write(".");
  39.   END;
  40.   WriteLn;
  41.   WriteInt(count, 6);
  42.   WriteString(" primes");
  43. END Primes.